let house_id = 0 // 要删除房屋的id
let house_index = 0 // 要删除房屋在数组中的下标
Page({
  data: {
    dialogVisible: false, // 控制删除对话框的显示/隐藏
    houseList: [], // 房屋列表
  },
  // =================================================

  onShow() {
    this.getHouseList()
  },

  // =================================================
  // 0. 获取房屋列表
  async getHouseList() {
    const { code, data: houseList } = await wx.http.get('/room')
    if (code !== 10000) return wx.utils.toast('获取房屋列表失败')
    this.setData({
      houseList,
    })
  },

  // 1. 滑动关闭
  swipeClose(ev) {
    // console.log(ev.mark)
    const { position, instance } = ev.detail

    if (position === 'right') {
      // 显示 Dialog 对话框
      this.setData({
        dialogVisible: true,
      })

      // 存储当前要删除房屋的id和下标
      house_id = ev.mark.id
      house_index = ev.mark.index

      // swiper-cell 滑块关闭
      instance.close()
    }
  },

  // 2. 去房屋详情
  goDetail(ev) {
    wx.navigateTo({
      url: `/house_pkg/pages/detail/index?id=${ev.mark.id}`,
    })
  },

  // 3. 添加房屋
  addHouse() {
    wx.navigateTo({
      url: '/house_pkg/pages/locate/index',
    })
  },

  // 4. 关闭对话框
  dialogClose(ev) {
    // console.log(ev.detail)
    // if (ev.detail === 'confirm') {
    //   this.deleteHouse()
    // }

    ev.detail === 'confirm' && this.deleteHouse()
  },

  // 5. 删除房屋信息
  async deleteHouse() {
    // console.log('我被执行了', house_id, house_index)
    // 5.1 调用接口
    const { code } = await wx.http.delete(`/room/${house_id}`)
    if (code !== 10000) return wx.utils.toast('删除房屋失败!')

    wx.utils.toast('删除房屋成功!')

    // 5.2 删除数组中的房屋对象
    const { houseList } = this.data
    houseList.splice(house_index, 1)

    this.setData({
      houseList,
    })
  },
})
